package com.ihr360.payroll.importVo;

import com.ihr360.excel.annotation.ExcelCell;
import com.ihr360.excel.annotation.ExcelConfig;
import com.ihr360.excel.annotation.RowNumberField;
import com.ihr360.excel.entity.ExcelI18nStrategyType;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@ExcelConfig(i18nStrategy = ExcelI18nStrategyType.EXCEL_I18N_STRATEGY_PROPS, propsFileName = "import-i18n.properties")
public class AttendanceSummaryImportVo {

    public static final String IMPORT_STAFF_NAME = "import_staff_name";
    public static final String IMPORT_MOBILE = "import_mobile";

    public static final String IMPORT_ATTENDANCE_CYCLE = "import_attendance_cycle";
    public static final String IMPORT_PAY_DAYS = "import_pay_days";
    public static final String IMPORT_WORK_DAYS = "import_work_days";
    public static final String IMPORT_SHOULD_ATTENDANCE_DAYS = "import_should_attendance_days";
    public static final String IMPORT_ACTUAL_ATTENDANCE_DAYS = "import_actual_attendance_days";
    public static final String IMPORT_ANNUAL_LEAVE_TIME = "import_annual_leave_time";
    public static final String IMPORT_LENGTH_OF_LEAVE = "import_length_of_leave";
    public static final String IMPORT_DEDUCTION_SICK_LEAVE = "import_deduction_sick_leave";
    public static final String IMPORT_FULL_PAY_SICK_LEAVE = "import_full_pay_sick_leave";
    public static final String IMPORT_OTHER_DEDUCTION = "import_other_deduction";
    public static final String IMPORT_OTHER_PAY_HOLIDAY = "import_other_pay_holiday";
    public static final String IMPORT_REST_HOUR = "import_rest_hour";
    public static final String IMPORT_WEEKDAY_OVERTIME = "import_weekday_overtime";
    public static final String IMPORT_REST_DAY_OVERTIME = "import_rest_day_overtime";
    public static final String IMPORT_HOLIDAY_OVERTIME = "import_holiday_overtime";
    public static final String IMPORT_LATE_ARRIVAL = "import_late_arrival";
    public static final String IMPORT_RETURN_EARLY = "import_return_early";

    public static final String IMPORT_MONTH_PAY_DAYS = "import_month_pay_days";

    public static final String IMPORT_WEEKDAY_OVERTIME_CAL = "import_weekday_overtime_cal";
    public static final String IMPORT_REST_DAY_OVERTIME_CAL = "import_rest_day_overtime_cal";
    public static final String IMPORT_HOLIDAY_OVERTIME_CAL = "import_holiday_overtime_cal";
    public static final String IMPORT_MATERNITY_DAYS = "import_maternity_days";
    public static final String IMPORT_SYNTHETICAL_ADJUST = "import_synthetical_adjust";
    public static final String IMPORT_SYNTHETICAL_OTHOURS300 = "import_synthetical_othours300";
    public static final String IMPORT_SYNTHETICAL_WORKHOURMONTH = "import_synthetical_workhourmonth";
    public static final String IMPORT_SYNTHETICAL_WORKHOURQUARTER = "import_synthetical_workhourquarter";
    public static final String IMPORT_SYNTHETICAL_WORKHOURYEAR = "import_synthetical_workhouryear";

    public static final String IMPORT_SIGNINMISS = "import_signinmiss";
    public static final String IMPORT_SIGNOUTMISS = "import_signoutmiss";
    public static final String IMPORT_LATEMINUTES = "import_lateminutes";
    public static final String IMPORT_EARLYMINUTES = "import_earlyminutes";
    public static final String IMPORT_ABSENCEFROMDUTY = "import_absencefromduty";



    @RowNumberField
    private String rowNum;

    @ExcelCell(headerKey = IMPORT_STAFF_NAME, defaultHeaderName = "姓名")
    @ExcelCell.Valid(allowNull = false)
    private String name;


    @ExcelCell(headerKey = IMPORT_MOBILE, defaultHeaderName = "手机号")
    @ExcelCell.Valid(allowNull = false)
    private String mobileNo;

    /*@ExcelCell(headerKey = IMPORT_ATTENDANCE_CYCLE, defaultHeaderName = "考勤周期")
    @ExcelCell.Valid(allowNull = false)
    private String attendanceCycle;*/

    @ExcelCell(headerKey = IMPORT_ACTUAL_ATTENDANCE_DAYS, defaultHeaderName = "实际出勤天数")
    @ExcelCell.Valid(allowNull = true)
    private Double workingdays = 0D;

    @ExcelCell(headerKey = IMPORT_SHOULD_ATTENDANCE_DAYS, defaultHeaderName = "应出勤天数")
    @ExcelCell.Valid(allowNull = true)
    private Double supposedworkingdays = 0D;

    @ExcelCell(headerKey = IMPORT_PAY_DAYS, defaultHeaderName = "月计薪天数")
    @ExcelCell.Valid(allowNull = false)
    private Double paiddays;

    @ExcelCell(headerKey = IMPORT_MONTH_PAY_DAYS, defaultHeaderName = "缺勤天数")
    @ExcelCell.Valid(allowNull = true)
    private Double absencefromdutydays = 0D;

    @ExcelCell(headerKey = IMPORT_WEEKDAY_OVERTIME, defaultHeaderName = "工作日加班")
    @ExcelCell.Valid(allowNull = true)
    private Double othours150 = 0D;

    @ExcelCell(headerKey = IMPORT_REST_DAY_OVERTIME, defaultHeaderName = "休息日加班")
    @ExcelCell.Valid(allowNull = true)
    private Double othours200 = 0D;

    @ExcelCell(headerKey = IMPORT_HOLIDAY_OVERTIME, defaultHeaderName = "节假日加班")
    @ExcelCell.Valid(allowNull = true)
    private Double othours300 = 0D;

    @ExcelCell(headerKey = IMPORT_WEEKDAY_OVERTIME_CAL, defaultHeaderName = "工作日加班累计")
    @ExcelCell.Valid(allowNull = true)
    private Double workingdayovertimecal = 0D;

    @ExcelCell(headerKey = IMPORT_REST_DAY_OVERTIME_CAL, defaultHeaderName = "休息日加班累计")
    @ExcelCell.Valid(allowNull = true)
    private Double restdayovertimecal = 0D;

    @ExcelCell(headerKey = IMPORT_HOLIDAY_OVERTIME_CAL, defaultHeaderName = "节假日加班累计")
    @ExcelCell.Valid(allowNull = true)
    private Double holidayovertimecal = 0D;

    @ExcelCell(headerKey = IMPORT_DEDUCTION_SICK_LEAVE, defaultHeaderName = "病假时长")
    @ExcelCell.Valid(allowNull = true)
    private Double sickleavecnt = 0D;

    /*@ExcelCell(headerKey = IMPORT_FULL_PAY_SICK_LEAVE, defaultHeaderName = "全薪病假时长")
    @ExcelCell.Valid(allowNull = true)
    private Double paysickleavecnt = 0D;*/

    @ExcelCell(headerKey = IMPORT_LENGTH_OF_LEAVE, defaultHeaderName = "事假时长")
    @ExcelCell.Valid(allowNull = true)
    private Double unpaidleavecnt = 0D;

    @ExcelCell(headerKey = IMPORT_MATERNITY_DAYS, defaultHeaderName = "产假时长")
    @ExcelCell.Valid(allowNull = true)
    private Double maternitycnt = 0D;

    @ExcelCell(headerKey = IMPORT_SYNTHETICAL_ADJUST, defaultHeaderName = "工时调整")
    @ExcelCell.Valid(allowNull = true)
    private Double syntheticaladjust = 0D;

    @ExcelCell(headerKey = IMPORT_SYNTHETICAL_OTHOURS300, defaultHeaderName = "节假日加班小时-综合")
    @ExcelCell.Valid(allowNull = true)
    private Double syntheticalothours300 = 0D;

    @ExcelCell(headerKey = IMPORT_SYNTHETICAL_WORKHOURMONTH, defaultHeaderName = "月工作日工时-综合")
    @ExcelCell.Valid(allowNull = true)
    private Double syntheticalworkhourmonth = 0D;

    @ExcelCell(headerKey = IMPORT_SYNTHETICAL_WORKHOURQUARTER, defaultHeaderName = "季工作日工时-综合")
    @ExcelCell.Valid(allowNull = true)
    private Double syntheticalworkhourquarter = 0D;

    @ExcelCell(headerKey = IMPORT_SYNTHETICAL_WORKHOURYEAR, defaultHeaderName = "年工作日工时-综合")
    @ExcelCell.Valid(allowNull = true)
    private Double syntheticalworkhouryear = 0D;

    @ExcelCell(headerKey = IMPORT_ANNUAL_LEAVE_TIME, defaultHeaderName = "年假时长")
    @ExcelCell.Valid(allowNull = true)
    private Double annualleavetime = 0D;

    @ExcelCell(headerKey = IMPORT_REST_HOUR, defaultHeaderName = "调休时长")
    @ExcelCell.Valid(allowNull = true)
    private Double resthours = 0D;

    @ExcelCell(headerKey = IMPORT_LATE_ARRIVAL, defaultHeaderName = "迟到次数")
    @ExcelCell.Valid(allowNull = true)
    private Double latearrivals = 0D;

    @ExcelCell(headerKey = IMPORT_RETURN_EARLY, defaultHeaderName = "早退次数")
    @ExcelCell.Valid(allowNull = true)
    private Double returnearly = 0D;

    @ExcelCell(headerKey = IMPORT_SIGNINMISS, defaultHeaderName = "签到遗漏次数")
    @ExcelCell.Valid(allowNull = true)
    private Double signinmiss = 0D;

    @ExcelCell(headerKey = IMPORT_SIGNOUTMISS, defaultHeaderName = "签退遗漏次数")
    @ExcelCell.Valid(allowNull = true)
    private Double signoutmiss = 0D;

    @ExcelCell(headerKey = IMPORT_LATEMINUTES, defaultHeaderName = "累计迟到分钟数")
    @ExcelCell.Valid(allowNull = true)
    private Double lateminutes = 0D;

    @ExcelCell(headerKey = IMPORT_EARLYMINUTES, defaultHeaderName = "累计早退分钟数")
    @ExcelCell.Valid(allowNull = true)
    private Double earlyminutes = 0D;

    @ExcelCell(headerKey = IMPORT_ABSENCEFROMDUTY, defaultHeaderName = "缺勤次数")
    @ExcelCell.Valid(allowNull = true)
    private Double absencefromduty = 0D;

}
